package org.aspire.data;

/******************************************************************************
 * An object with data that can be emptied or cleared.
 * 
 * @author JPACarabuena
 *****************************************************************************/
public interface Emptyable {

	// ========================================================================
	// Final Fields
	// ========================================================================
	
	// ========================================================================
	// Getters & Setters
	// ========================================================================
	
	// ========================================================================
	// Override Methods
	// ========================================================================
	
	// ========================================================================
	// Methods
	// ========================================================================
	
	/**************************************************************************
	 * Clear the contents of this object. 
	 *************************************************************************/
	public void clear();
	
	/**************************************************************************
	 * Checks if this object is empty. An object is empty if its data contents
	 * are in cleared state.
	 * 
	 * @return	Whether or not the contents of this object is empty.
	 *************************************************************************/
	public boolean isEmpty();
	
	// ========================================================================
	// Inner & Anonymous Classes
	// ========================================================================
}